package com.jrx.anytxn.accounting.service;

import com.jrx.anytxn.accounting.dto.VoucherExcpReportRes;
import com.jrx.anytxn.common.exception.TxnException;
import com.jrx.anytxn.i18n.response.TxnPage;

import java.util.Date;

/**
 * 传票例外报表 的service 接口
 *
 * @author Qingyao Xing
 * @date 2019/9/6 11:04
 */
public interface IVoucherExcpReportService {
    /**
     * 根据主键查询对象
     *
     * @param id         主键
     * @param tenantId   租户ID
     * @param customerId 客户ID
     * @return com.jrx.anytxn.accounting.dto.voucherexcpreport.VoucherExcpReportRes
     * @throws TxnException
     * @author Qingyao Xing
     * @date 2019/9/6 11:07
     */
    VoucherExcpReportRes getModalByIdAndTenIdAndCusId(Long id, String tenantId, String customerId) throws TxnException;

    /**
     * 分页查询所有
     *
     * @param pageNum  页码
     * @param pageSize 条数
     * @param tenantId 租户ID
     * @return java.util.List<com.jrx.anytxn.accounting.dto.voucherexcpreport.VoucherExcpReportRes>
     * @throws TxnException
     * @author Qingyao Xing
     * @date 2019/9/6 11:06
     */
    TxnPage<VoucherExcpReportRes> getPage(Integer pageNum, Integer pageSize, String tenantId, String startDate, String endDate, String loanId, String customerId,String channel) throws TxnException;

    /**
     * 删除当前日期的传票流水例外表
     * @author fan.yang
     * date: 2019/12/18 0018 下午 14:17
     * @param businessDate 当前日期
     * @return void
     */
    void deleteByDate(Date businessDate);
}
